package com.gitee.qdbp.general.system.api.permission.service;

import java.util.List;
import java.util.Map;
import com.gitee.qdbp.able.exception.ServiceException;
import com.gitee.qdbp.able.jdbc.ordering.OrderPaging;
import com.gitee.qdbp.able.jdbc.paging.PageList;
import com.gitee.qdbp.general.system.api.permission.model.RoleCoreBean;
import com.gitee.qdbp.general.system.api.permission.model.RoleCoreWhere;
import com.gitee.qdbp.general.system.api.permission.model.RoleResourceRefBean;
import com.gitee.qdbp.general.system.api.permission.model.RoleResourceRefWhere;

/**
 * 角色信息业务接口
 *
 * @author zhh
 * @version 170214
 */
public interface IRoleCoreQueryer {

    RoleCoreBean find(String id) throws ServiceException;

    RoleCoreBean find(RoleCoreWhere where) throws ServiceException;

    PageList<RoleCoreBean> list(RoleCoreWhere where, OrderPaging paging) throws ServiceException;

    PageList<RoleResourceRefBean> listRoleResource(RoleResourceRefWhere where, OrderPaging paging) throws ServiceException;

    List<RoleCoreBean> listByUserId(String userId) throws ServiceException;

    Map<String, List<RoleCoreBean>> listByUserIds(List<String> userIds) throws ServiceException;
}
